Over the years, human resources (HR) software applications have evolved to offer more and more features that enable external users to interact directly with the HR systems. An external user is a person who has been granted access to an organization's website (or application), but who is not a licensed user within the organization. External users are users who are not employees, contractors or onsite agents for the organization, unlike internal users who are typically employees of the organization. For example, recruitment software applications or websites usually interface with external users, such as job applicants and third party recruitment agency users, as one of the core features.
On one hand, it is desirable to store and manage external users' data and internal users' data in the same system and in the same data structures for ease of use and management. On the other hand, such data co-location introduces security challenges, particularly the challenge of protecting sensitive information about internal users, such as social security numbers, birthday, and compensation data, from being accessed or hacked via external users' access points.